做過前面幾次練習,相信大家對於OpenCV影像處理基本有了概念,接來我們要寫個簡單的即時攝影程式,會用到電腦自帶或外接的攝像頭。
import numpy as np
import cv2
OpenCV本身就有匯入攝像頭的函式,所以我們在import之後就可以直接寫上:
cap = cv2.VideoCapture(0)
cv2.VideoCapture的功能是呼叫電腦連接的攝像頭,後面的參數代表攝像頭的編號,如果電腦只有接一個攝像頭的話編號通常為0,接了一個以上編號會繼續往上遞增。
ret,frame = cap.read()
cap.read的意思是透過VideoCapture存取一張圖片,換句話說就是用你的攝像頭即時拍一張照片,return回來的資料會丟到變數裡。
做完以上這些動作之後,剛才拍下的照片已經存到frame裡面了,我們可以試著把圖片秀出來看看:
cv2.imshow('frame', frame)
是不是很方便呢!
在程式結束之前,要記得釋放(release)攝像頭,以免佔用系統資源:
cap.release()
下章我們會接著對這個小程式做些改動,為這支程式增加一些功能!